package DateAndCalendar;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class DateStudy {
    public static void main(String[] args) throws ParseException {
        /*Date d = new Date();
        d.setTime(1666932691855L);

        System.out.println(new Date().getTime());
        System.out.println(d);
        System.out.println("-------------");*/

//        正则表达式的匹配
//        System.out.println(new Date(3L));
//        System.out.println(new Date(2L));
//        Pattern p = Pattern.compile("a+b");
//        Matcher M = p.matcher("aaaba");
//        System.out.println(Pattern.matches("a+b","aaab"));
//        Pattern p = Pattern.compile("(heima001)");
//        Matcher m = p.matcher("heima001,123456,15263");
//        System.out.println(m.start());


        /* 日期对象Data以及对应的格式化输出SimpleDateFormat对象
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日HH:mm:ss");
        var sdf1 = new SimpleDateFormat();
        var sdf2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

        String str = "2022-05-20 13:14:00";
        解析字符串
        Date d = sdf2.parse(str);
        格式化输出字符串
        System.out.println(sdf2.format(d));

        System.out.println(new Date());
        System.out.println(sdf1.format(new Date()));
        System.out.println(sdf.format(new Date()));*/
        /* 需求:
            秒杀活动开始时间:2023年11月11日 0:0:0(毫秒值)
            秒杀活动结束时间:2023年11月11日 0:10:0(毫秒值)

            小贾下单并付款的时间为:2023年11月11日 0:01:0
            小皮下单并付款的时间为:2023年11月11日 0:11:0
            用代码说明这两位同学有没有参加上秒杀活动?
         */

//1.定义字符串表示三个时间
        String startstr = "2023年11月11日 0:0:0";
        String endstr = "2023年11月11日 0:10:0";
        String orderstr = "2023年11月11日 0:01:00";
//2.解析上面的三个时间，得到Date对象
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日HH:mm:ss");
        Date startDate = sdf.parse(startstr);
        Date endDate = sdf.parse(endstr);
        Date orderDate = sdf.parse(orderstr);

//3.得到三个时间的毫秒值
        long startTime = startDate.getTime();
        long endTime = endDate.getTime();
        long orderTime = orderDate.getTime();

//4.判断
        if (orderTime >= startTime && orderTime <= endTime) {
            System.out.println("参加秒杀活动成功");
        } else {
            System.out.println("参加秒杀活动失败");
        }
    }
}
